#ifndef _HEAP_H_
#define _HEAP_H_

#include "Graph.h"

// Binary Heap implementation of a priority queue
class Heap
{
	public:
		Heap(int size);
		~Heap();

		void insert(Edge *newEdge);
		Edge *deleteMin();
		void clear();

	private:
		int _size;
		Edge *_edges;
		void sift_up(int nodeIndex);
};

#endif /**_HEAP_H_**/

